﻿using System.Reflection;

namespace Dyao.Book.Repository.Shared
{
    public abstract class EntityPropertyCompleteProvider
    {
        public abstract bool HasCreateProperty(Type entityType);

        public abstract IList<MemberInfo> GetCreatePropertyInfos(Type entityType);

        public abstract void CompleteCreateProperties<T>(IEnumerable<T> entities) where T : class;

        public abstract bool HasUpdateProperty(Type entityType);

        public abstract IList<MemberInfo> GetUpdatePropertyInfos(Type entityType);

        public abstract void CompleteUpdateProperties<T>(IEnumerable<T> entities) where T : class;
    }
}
